import {observe} from "./observer/index";

export function initState(vm) {
    const opts = vm.$options;
    if(opts.props){
        initProps(vm)
    }else if(opts.data){
        initData(vm)
    }else if(opts.methods){
        initMethod(vm)
    }else if(opts.computed){
        initComputed(vm)
    }else if(opts.watch){
        initWatched(vm)
    }
}
function initProps(vm) {

}
function initData(vm) {
    // 数据初始化
    let data = vm.$options.data;
    
    data = vm._data =  typeof data === "function"?data.call(vm):data;
    // 对象劫持
    // Object.defineProperty() 给属性增加get/set方法
    observe(data); // 响应式化
}
function initMethod(vm) {

}
function initComputed(vm) {

}
function initWatched(vm) {

}
